var Home = {
    departCode : $("#departCode").val(),
    departDesc : $("#departDesc").val()==null||$("#departDesc").val()==""?"全院":$("#departDesc").val(),
    tableIndex: $("#departCode").val()==null||$("#departCode").val()==""?"科室":"主治医师" ,//表格第一列描述
    analysisDicChart: null
};
$(function () {
    //科室
    $('#depart').combobox({
        data:$.parseJSON($("#departMap").val()),
        valueField:'value',
        textField:'text',
        defaultFilter: 6
        //onSelect:ManageIndex.departChange
    });
    //院区
    $('#office').combobox({
        data:$.parseJSON($("#officeMap").val()),
        valueField:'value',
        textField:'text',
        defaultFilter: 6,
        onSelect:Home.officeChange,
        onLoadSuccess: function () { //加载完成后,val[0]写死设置选中第一项
            var hospId = $('#hospitalId').val();
            if (hospId != "") {
                $(this).combobox("setValue", hospId);
                $(this).combobox('disable');
            } else {
                var val = $(this).combobox("getData");
                if (val.length == 2) {//如果就一个院区 加上全部=2
                    $(this).combobox("setValue", val[1].value);
                    Home.officeChange(val[1]);
                    $("#oneOffice").val("yes");
                } else {
                    $(this).combobox("setValue", "");
                    $("#oneOffice").val("no");
                }
            }
        }
    });
    //病种
    $('#qcEntity').combobox({
        data:$.parseJSON($("#entityMap").val().replace('{"text":"全部","value":""},',"")),
        valueField:'value',
        textField:'text',
        multiple:true,
		rowStyle:'checkbox', //显示成勾选行形式
		selectOnNavigation:false,
		panelHeight:200,
		editable:false,
        defaultFilter: 6
	});
    //重点病种
    $('#keyDisease').combobox({
        data:[{"value":"1","text":"国考10个病种"},{"value":"2","text":"三大重点科室14个病种"}],
        valueField:'value',
        textField:'text',
        allowNull:true,
        defaultFilter: 6
    });
    $('#startDate').datebox('setValue',timeStamp2String(new Date().getTime()-(1000 * 60 * 60 * 24*180)));
    $('#endDate').datebox('setValue',Home.getSystemTime());

    Home.initBottomTable();//加载主页低部表格数据
    //主页最上面文字描述
    $("#homeHtmlDesc").panel({title:"单病种质量绩效报表"});
    //表格上面文字描述
    var desc = $("#qcEntity").combobox("getText");
    $("#homeTableDesc").panel({title:desc +"绩效报表数据"});
    //绑定顶部和中部蓝色数字的点击事件
    $(".homeCaseDeatil").click(function(){
        var _this = $(this);
        var key = _this.attr("id");
        /*var desc = _this.parent().prev().html();//父级的上一个同级元素*/
        var im_content=document.getElementById(key).parentNode;;
        var descText = im_content.innerText;
        var desc = descText.split("：")[0];
        Home.homeKeyDetail(key,desc,1);
    });
    $(".homeCaseDeatil2").click(function(){
        var _this = $(this);
        var key = _this.attr("id");
        var desc = _this.parent().prev().html();//父级的上一个同级元素
        Home.homeKeyDetail(key,desc,2);
    });
});

/**
 * //根据父级机构 查询子机构
 */
Home.officeChange = function(that){
    var ajax = new $ax(Sys.backendPath + "/sds/common/deptListByHospId", function(data){
        $('#depart').combobox({
            data:data,
            valueField:'value',
            textField:'text',
            defaultFilter: 6,
            onLoadSuccess: function () { //加载完成后,val[0]写死设置选中第一项
                $(this).combobox("setValue", "");
            }
        });
    },function(data){
        layer.msg("查询失败!" + data.responseJSON.message + "!",{icon: 2});
    });
    ajax.set({"hospID":that.value,"id":"depart"});
    ajax.start();
}

Home.search = function(){
    Home.initBottomTable();
};

/**
 * 加载主页底部表格数据
 */
Home.initBottomTable = function(){
    Home.entityChange();
};

/**
 * 画中部图形
 */
Home.drawMiddleChart = function(chartDatas){
    echarts.init($("#analysisChart")[0]).dispose();
    var lines = [];
    var chartDic = Home.analysisDicChart;

    $.each(chartDic,function(index,dic){
        if (dic.field.indexOf("Fee") == -1 && dic.field.indexOf("Day") == -1){
            lines.push({desc:dic.title,data:[],code:dic.field});
        }
        //lines.push({desc:dic.title,data:[],code:dic.field});
    });
    var chartParams = {
        backgroundColor : '#f2f2f2',//背景颜色
        isHorizontal : false,
        yAxisName : '单位:%',//y轴单位
        formatterFunc : function(params){
            var backStr = "";
            var relVal = params[0].name;
            backStr += relVal + "<br>";
            for (var i = 0;i < params.length; i++) {
                backStr += params[i].marker+params[i].seriesName + "：" +params[i].value+ "%<br>";
            }
            return backStr;
        },
        titleShow:false,
        isDataZoom:false,//是否显示缩放
        legendShow : true,
        legendPosition : 'top',
        gridLeft:"20px",
        gridRight:"10px",
        gridTop:"30px",
        gridBottom:"25px",
        rotate:60,//x轴数据偏移角度
        showLabel : true,
        legend:{
            show : false
        }
    };
    lineChartVte($("#analysisChart"), lines, chartDatas,null,null,chartParams);
};

Home.drawMiddleChart2 = function(data) {
    echarts.init($("#admDaysChart")[0]).dispose();
    var lines = [
        {desc:'次均住院日',data:[],code:'hosDays'}
    ];
    var chartParams = {
        //backgroundColor : '#f2f2f2',
        isHorizontal : false,
        legendShow : false,
        showLabel : true,
        yAxisName : '天',//y轴单位
        legend:{
            show : false
        },
        isDataZoom:true,//是否显示缩放
        titleLeft:'center',//标题位置
        xAxisInterval:0,//坐标轴刻度标签的显示间隔，在类目轴中有效。默认会采用标签不重叠的策略间隔显示标签。可以设置成 0 强制显示所有标签
        // rotate:50,//x轴数据偏移角度
        grid:{
            containLabel: true, //注意加上，否则axisLabel有可能显示会不全
            top:"35px",
            left:"20px",
            right:"20px",
            bottom:"5px"
        },
        label: {
            normal: {
                show: true, // 显示标签
                position: 'top' // 标签位置顶部
            }
        },
        formatter: function (params) {
            var str = "";                 // 最终拼接成的字符串
            var paramsLen = params.length;// 获取每项文字的个数
            var len = 5;                  // 每行能显示的字的个数（根据实际情况自己设置）
            var rowNumber = Math.ceil(paramsLen / len); // 换行的话，需要显示几行，向上取整
            if (paramsLen > len) {        //大于设定的len就换行，不大于就不变化
                for (var i = 0; i < rowNumber; i++) {
                    var temp = "";            // 表示每一次截取的字符串
                    var start = i * len;      // 开始截取的位置
                    var end = start + len;    // 结束截取的位置
                    if (i == rowNumber - 1) { // 最后一次不换行
                        temp = params.substring(start, paramsLen);
                    } else {                  // 每一次拼接字符串并换行
                        temp = params.substring(start, end) + "\n";
                    }
                    str += temp;              // 最终拼成的字符串
                }
            } else {                      // 给新的字符串赋值
                str = params;
            }
            return str;                   //返回字符串
        },
        saveAsImage: {
            show: false
        }
    };
    var option = barChartVte($("#admDaysChart"), lines, data, "次均住院日",null,chartParams);
    $("#downloadAdmDaysChart").on('click', function () {
        Home.downloadEcharts(option);
    });
}

Home.drawMiddleChart3 = function(data) {
    echarts.init($("#entityFeeChart")[0]).dispose();
    var lines = [
        {desc:'次均住院费用',data:[],code:'hosCost'}
    ];
    var chartParams = {
        //backgroundColor : '#f2f2f2',
        isHorizontal : false,
        legendShow : false,
        showLabel : true,
        yAxisName : '元',//y轴单位
        legend:{
            show : false
        },
        isDataZoom:true,//是否显示缩放
        titleLeft:'center',//标题位置
        xAxisInterval:0,//坐标轴刻度标签的显示间隔，在类目轴中有效。默认会采用标签不重叠的策略间隔显示标签。可以设置成 0 强制显示所有标签
        // rotate:50,//x轴数据偏移角度
        grid:{
            containLabel: true, //注意加上，否则axisLabel有可能显示会不全
            top:"35px",
            left:"20px",
            right:"20px",
            bottom:"5px"
        },
        label: {
            normal: {
                show: true, // 显示标签
                position: 'top' // 标签位置顶部
            }
        },
        formatter: function (params) {
            var str = "";                 // 最终拼接成的字符串
            var paramsLen = params.length;// 获取每项文字的个数
            var len = 5;                  // 每行能显示的字的个数（根据实际情况自己设置）
            var rowNumber = Math.ceil(paramsLen / len); // 换行的话，需要显示几行，向上取整
            if (paramsLen > len) {        //大于设定的len就换行，不大于就不变化
                for (var i = 0; i < rowNumber; i++) {
                    var temp = "";            // 表示每一次截取的字符串
                    var start = i * len;      // 开始截取的位置
                    var end = start + len;    // 结束截取的位置
                    if (i == rowNumber - 1) { // 最后一次不换行
                        temp = params.substring(start, paramsLen);
                    } else {                  // 每一次拼接字符串并换行
                        temp = params.substring(start, end) + "\n";
                    }
                    str += temp;              // 最终拼成的字符串
                }
            } else {                      // 给新的字符串赋值
                str = params;
            }
            return str;                   //返回字符串
        },
        saveAsImage: {
            show: false
        }
    };
    var option = barChartVte($("#entityFeeChart"), lines, data, "次均住院费用",null,chartParams);
    $("#downloadEntityFeeChart").on('click', function () {
        Home.downloadEcharts(option);
    });
}

Home.filteByEntity = function (data) {
    var entityIDs=Home.qcBox.getValues();
    if (entityIDs.length==0) {
        return data;
    }
    data.tableDates=data.tableDates.filter(function (item) {
        return entityIDs.indexOf(item.entityId)>-1
    });

    var entityDescs=$("#qcEntity").combobox("getText");
    data.hosDaysData=data.hosDaysData.filter(function (item){
        return entityDescs.indexOf(item.ddesc)>-1
    })
    data.hosCostData=data.hosCostData.filter(function (item){
        return entityDescs.indexOf(item.ddesc)>-1
    })

    return data
}

/**
 * 根据病种绘制动态表头
 */
Home.entityChange = function(){
    $('#departmentTable').bootstrapTable("destroy");//先销毁原来的表格
    buildTable();
}


/**
 * 科室详细信息
 */
Home.homeDepartDetail = function(dishDate,x){
    var qcEntity = $("#qcEntity").combobox("getValue");
    var qcEntityDesc = $("#qcEntity").combobox("getText");
    var qcYear = $("#qcYear").combobox("getValue");
    var qcMonth = $("#qcMonth").combobox("getValue");
    var office = $("#office").combobox("getValue");
    var depart = $("#depart").combobox("getValue");
    var href = Sys.backendPath + "/analysis/indexsta/detail?dishDate="+dishDate+"&qcEntity="+qcEntity+"&qcYear="+qcYear+"&qcMonth="+qcMonth+"&office="+office+"&depart="+depart+"&qcEntityDesc="+qcEntityDesc;
    layer.open({
        type: 2,
        title: ['<i class = "fa fa-list-ol"></i>&nbsp;'+qcEntityDesc+'详细','padding-left:10px'],
        area:["98%","98%"],
        scrollbar: false,//为了禁止父页面滚动条滚动
        skin:'classfyLBStyle layer-ext-hisui',
        content: href //这里content是一个URL，如果你不想让iframe出现滚动条，你还可以content: ['http://sentsin.com', 'no']
    });

    //Sys.addTabPage($.trim(departDesc+"详细"), href,true);
};
/**
 * 钻取主页蓝色数字详细信息
 */
Home.homeKeyDetail = function(key,desc,type,entityId){
    //type=1是从顶部蓝色数字传入，type=2表示从下面表格传入，如果是钻取的科室，传area参数暂时定为主治医师Id
    var startDate = "";
    var endDate = "";
    if ($('#startDate').datebox('getValue') != ""){
        startDate = $('#startDate').datebox('getValue')+" 00:00:00";//开始日期
        endDate = $('#endDate').datebox('getValue')+" 23:59:59";//开始日期
    }
    var office = $("#office").combobox("getValue");
    var depart = $("#depart").combobox("getValue");
    var qcEntity = $("#qcEntity").combobox("getValue");

    if(type==2){
        var href = Sys.backendPath + "/analysis/sdsmsta2/to_case2?key="+key+"&searchType=1&desc="+encodeURIComponent(desc) +"&startDate=" + startDate +"&endDate=" + endDate +"&office=" + office +"&depart=" + depart +"&qcEntity=" + qcEntity;
    }else{
        var href = Sys.backendPath + "/analysis/sdsmsta2/to_case?key="+key+"&searchType=1&desc="+encodeURIComponent(desc) +"&startDate=" + startDate +"&endDate=" + endDate +"&office=" + office +"&depart=" + depart +"&qcEntity=" + qcEntity+"&entityId=" + entityId;
    }

    layer.open({
        type: 2,
        title: ['<i class = "fa fa-list-ol"></i>&nbsp;'+desc,'padding-left:10px'],
        area:["95%","95%"],
        scrollbar: false,//为了禁止父页面滚动条滚动
        skin:'classfyLBStyle layer-ext-hisui',
        content: href //这里content是一个URL，如果你不想让iframe出现滚动条，你还可以content: ['http://sentsin.com', 'no']
    });
}

/**
 * 钻取主页蓝色数字详细信息
 */
Home.homeKeyDetailTable = function(key,desc,entityId){
    //type=1是从顶部蓝色数字传入，type=2表示从下面表格传入，如果是钻取的科室，传area参数暂时定为主治医师Id
    var startDate = "";
    var endDate = "";
    if ($('#startDate').datebox('getValue') != ""){
        startDate = $('#startDate').datebox('getValue')+" 00:00:00";//开始日期
        endDate = $('#endDate').datebox('getValue')+" 23:59:59";//开始日期
    }
    var office = $("#office").combobox("getValue");
    var depart = $("#depart").combobox("getValue");
    var qcEntity = $("#qcEntity").combobox("getValue");

    var href = Sys.backendPath + "/analysis/sdsmsta2/to_case?key="+key+"&searchType=1&desc="+encodeURIComponent(desc) +"&startDate=" + startDate +"&endDate=" + endDate +"&office=" + office +"&depart=" + depart +"&qcEntity=" + qcEntity+"&entityId=" + entityId;
    layer.open({
        type: 2,
        title: ['<i class = "fa fa-list-ol"></i>&nbsp;'+desc,'padding-left:10px'],
        area:["95%","95%"],
        scrollbar: false,//为了禁止父页面滚动条滚动
        skin:'classfyLBStyle layer-ext-hisui',
        content: href //这里content是一个URL，如果你不想让iframe出现滚动条，你还可以content: ['http://sentsin.com', 'no']
    });
}


/**
 * 绘制主页的表格
 */
Home.drawTable = function(tableData){
    this.$table =
        $('#departmentTable').bootstrapTable({
            data:tableData,
            striped: false,//是否显示行间隔色
            pagination: false,//是否显示分页
            showFooter: true,
            //paginationLoop: false,
            //pageSize : 5,//用于设置每页初始显示的条数
            //pageList :[4],
            //sidePagination: 'server',//设置在哪进行分页，默认”client”，可选”server”,返回数据模板不同
            sortName: "patientNum",
            sortOrder: 'desc',// desc  asc
            maintainSelected: true,//设为true 为选中的状态
            cache: false,
            search: false, //搜索框
            columns: Home.columns,
            onPostHeader: function(){  //当<thead></thead>中的内容被加载完后或者在你所用的DOM中有定义则被触发
                // $(".th-inner").css("font-weight","700");//表头字体加粗
                $("#departmentTable > tbody td").each(function(index){//鼠标悬浮 显示表格数据
                    $(this).attr("title",$(this).text());
                });
            },
            onPostBody:function (tableData) {
                merge_footer();
            },
        });
};

/**
 * 导出主页的表格数据
 */
Home.exportTable = function() {
    $("#tableDiv table").tableExport(
        {
            type : 'xlsx',
            escape : 'false'
        },Home.getSystemTime()+Home.departDesc+'单病种绩效报表统计'
    )
};
/**
 * 获取当天年月日
 */
Home.getSystemTime = function(){
    function p(s) {
        return s < 10 ? '0' + s: s;
    }
    var date = new Date(); // 获取中国标准时间
    var y = date.getFullYear(); // 年
    var m = date.getMonth()+1; // 月
    var d = date.getDate(); // 日
    var sysTime = y+'-'+p(m)+'-'+p(d);
    return sysTime;
};
/**
 * 计算比率
 */
function MathMethod(a,b){
    if(b==0){
        return "0%";
    }
    var num = a/b;
    num = (num.toFixed(4)) * 100;  // 输出结果为 2.45
    var numStr = num.toString()
    var index = numStr.indexOf('.');
    if(index > -1){
        numStr = numStr.substring(0, index+3);
    }
    return numStr+"%";
}

/**
 *
 * @param value
 * @param nField 分子字段
 * @param dField 分母字段
 * @param type 计算类型：1求和、2求平均、3求比例
 * @returns {string|number}
 */
Home.sumFieldValue = function(type,value,nField, dField){
    var disSum = 0;
    var count = 0;
    for(var i in value){
        count += value[i][nField]*1000;
        if (dField != undefined) {
            disSum += value[i][dField]*1000;
        }
    }
    if(count==0){//如果是0返回空
        return "";
    }
    count = count/1000;
    disSum = disSum/1000;

    if (type == 1) {
        return count;
    } else if (type == 2){
        return (count/disSum).toFixed(2);
    } else if (type == 3) {
        var pre = (count/disSum * 100).toFixed(2);
        return pre+"%&nbsp;&nbsp;("+count+")";
    } else {
        return count;
    }
};
//在Jquery里格式化Date日期时间数据
function timeStamp2String(time){
    var datetime = new Date();
    datetime.setTime(time);
    var year = datetime.getFullYear();
    var month = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1;
    var date = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate();
    return year + "-" + month + "-" + date;
}
function mergeCells(data,fieldName,colspan,target){
    //声明一个map计算相同属性值在data对象出现的次数和
    var sortMap = {};
    for(var i = 0 ; i < data.length ; i++){
        for(var prop in data[i]){
            if(prop == fieldName){
                var key = data[i][prop]     //fieldName的value
                if(sortMap.hasOwnProperty(key)){
                    sortMap[key] = sortMap[key] * 1 + 1;
                } else {
                    sortMap[key] = 1;
                }
                break;
            }
        }
    }
    /*for(var prop in sortMap){
        console.log(prop,sortMap[prop])
    }*/
    //合并单元格
    var index = 0;
    for(var prop in sortMap){
        var count = sortMap[prop] * 1;
        $(target).bootstrapTable('mergeCells',{index:index, field:fieldName, colspan: colspan, rowspan: count});
        index += count;
    }

}

//设置合计列宽度
function merge_footer(){
    //获取table表中footer 并获取到这一行的所有列
    var footer_tbody = $('.fixed-table-footer table tbody');
    var footer_tr = footer_tbody.find('>tr');
    var footer_td = footer_tr.find('>td');
    var footer_td_1 = footer_td.eq(0);
    for(var i=0;i<footer_td.length;i++){
        footer_td.eq(i).hide();//隐藏单元格
        if(i >= 0 && i <= 1){
            footer_td.eq(i).attr('width', "80px").show();//显示单元格并设置列宽
        }else {
            footer_td.eq(i).attr('width', "150px").show();//显示单元格并设置列宽
        }
    }
}

//获取表格高度
function getTableHeight() {
    return  $(document).height() -420;
}
//重新定义表格大小
function resizeTableHeightKs(dataLen) {
    if(dataLen===0 || dataLen===undefined){
        dataLen=1;
    }
    var a =$('#departmentTable').first().find('tr').last().height() * (dataLen);
    if (a > getTableHeight()) {
        $('div#out_table_DerateTable .fixed-table-container').height(getTableHeight());
    } else {
        $('div#out_table_DerateTable .fixed-table-container').height(a);
    }
}

function buildTable(){
    var columns = [],
        initColumns = [],//公共固定列
        itemColumns = []; //动态因子列
    initColumns = [
        {title: '单病种名称', field: 'entityDesc', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return value;
            },
            footerFormatter:function(value){
                return "总计";
            }
        },
        {title: '符合例数', field: 'consistentNum', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return "<a onclick='Home.homeKeyDetailTable(&apos;"+"consistentNum"+"&apos;,&apos;"+row.entityDesc+"符合例数"+"&apos;,&apos;"+row.entityId+"&apos;)'>"+value+"</a>";
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(1,value,"consistentNum");
            }
        },
        {title: '已上报', field: 'reported', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return "<a onclick='Home.homeKeyDetail(&apos;reported&apos;,&apos;"+row.entityDesc+"已上报&apos;,3,&apos;"+row.entityId+"&apos;)'>"+value+"</a>";
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(1,value,"reported");
            }
        },
        {title: '上报率', field: 'reportedRate', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return MathMethod(row.reported,row.consistentNum);
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(3,value,"reported","consistentNum");
            }
        },
        {title: '10日内上报', field: 'in10DaysReported', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return "<a onclick='Home.homeKeyDetail(&apos;in10DaysReported&apos;,&apos;"+row.entityDesc+"-10日内上报&apos;,3,&apos;"+row.entityId+"&apos;)'>"+value+"</a>";
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(1,value,"in10DaysReported");
            }
        },
        {title: '超10日未上报', field: 'than10DaysNoReport', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return "<a onclick='Home.homeKeyDetail(&apos;than10DaysNoReport&apos;,&apos;"+row.entityDesc+"-超10日未处理&apos;,3,&apos;"+row.entityId+"&apos;)'>"+value+"</a>";
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(1,value,"than10DaysNoReport");
            }
        },
        {title: '次均住院日', field: 'averageHosDays', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return value;
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(2,value,"hosDays","consistentNum");
            }
        },
        {title: '次均住院费用', field: 'averageHosCost', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return value;
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(2,value,"hosCost","consistentNum");
            }
        },
        {title: '死亡例数', field: 'deathNum', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return "<a onclick='Home.homeKeyDetailTable(&apos;"+"deathNum"+"&apos;,&apos;"+row.entityDesc+"已死亡"+"&apos;,&apos;"+row.entityId+"&apos;)'>"+value+"</a>";

            },
            footerFormatter:function(value){
                return Home.sumFieldValue(1,value,"deathNum");
            }
        },
        {title: '病死率', field: 'deathNumRate', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                 return MathMethod(row.deathNum,row.consistentNum) + "&nbsp;&nbsp;(" + row.deathNum +")";
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(3,value,"deathNum","consistentNum");
            }
        },
        {title: '手术并发症例数', field: 'complicationRate', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return "<a onclick='Home.homeKeyDetailTable(&apos;"+"complicationRate"+"&apos;,&apos;"+row.entityDesc+"手术并发症"+"&apos;,&apos;"+row.entityId+"&apos;)'>"+value+"</a>";
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(1,value,"complicationRate");
            }
        },
        {title: '手术并发症发生率', field: 'complicationRate', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return MathMethod(row.complicationRate,row.consistentNum) + "&nbsp;&nbsp;(" + row.complicationRate +")";
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(3,value,"complicationRate","consistentNum");
            }
        },
        {title: '平均耗材费', field: 'averageConsumCost', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return value;
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(2,value,"consumCost","consistentNum");
            }
        },
        {title: '平均药费', field: 'averageMedeCost', align: 'left', valign: 'middle', sortable: true,
            formatter:function(value,row,index){
                return value;
            },
            footerFormatter:function(value){
                return Home.sumFieldValue(2,value,"medeCost","consistentNum");
            }
        }
    ];

    var params = {};
    var ajax = new $ax(Sys.backendPath + "/analysis/sdsmsta/selectSdsMstaTable", function (data) {
        var dataTable = data.tableDates;
        //Home.drawMiddleChart(data.chartDates);
        Home.drawMiddleChart2(data.hosDaysData);
        Home.drawMiddleChart3(data.hosCostData);

        columns.push(initColumns, itemColumns); //合并表格内容
        this.$table =
            $('#departmentTable').bootstrapTable({
                data:dataTable,
                striped: false,//是否显示行间隔色
                pagination: false,//是否显示分页
                showFooter: true,
                //paginationLoop: false,
                //pageSize : 5,//用于设置每页初始显示的条数
                //pageList :[4],
                //sidePagination: 'server',//设置在哪进行分页，默认”client”，可选”server”,返回数据模板不同
                sortName: "patientNum",
                sortOrder: 'desc',// desc  asc
                maintainSelected: true,//设为true 为选中的状态
                cache: false,
                search: false, //搜索框
                columns: columns,
                height: getTableHeight(),
                onPostHeader: function(){  //当<thead></thead>中的内容被加载完后或者在你所用的DOM中有定义则被触发
                    // $(".th-inner").css("font-weight","700");//表头字体加粗
                    $("#departmentTable > tbody td").each(function(index){//鼠标悬浮 显示表格数据
                        $(this).attr("title",$(this).text());
                    });
                },
                onLoadSuccess: function (data) {
                    resizeTableHeightKs(data.total);
                },
            });
    }, function (data) {
    });
    params.office = $("#office").combobox("getValue");
    params.depart = $("#depart").combobox("getValue");
    params.qcEntity = $("#qcEntity").combobox("getValues").toString();
    params.keyDisease = $("#keyDisease").combobox("getValue");
    params.startDate = $("#startDate").datebox("getValue")+" 00:00:00";
    params.endDate = $("#endDate").datebox("getValue")+" 23:59:59";
    params.doctor = $("#doctor").val();
    ajax.set(params);
    ajax.start();
}

Home.downloadEcharts = function (options, myChart, label) {
    if (myChart) {
        // 获取图表的数据 URL
        var dataURL = myChart.getDataURL({
            type: 'png',  // 可以根据需要修改为其他格式，如 'jpeg'
            pixelRatio: 2,  // 图片分辨率，根据需要进行调整
            backgroundColor: '#fff'  // 图片背景色，根据需要进行调整
        });
        // 创建一个虚拟的下载链接并模拟点击下载
        var link = document.createElement('a');
        link.href = dataURL;
        var imageName = 'echarts_image.png';
        if (options.title && options.title.text) {
            imageName = options.title.text + '.png';
        }
        link.download = imageName;  // 下载的文件名，可以根据需要修改
        link.style.display = 'none';
        link.click();
        return;
    }

    // 获取完整的数据
    const fullData = options;
    var newOption = fullData;
    newOption.dataZoom = [];
    newOption.grid = {
        containLabel: true, //注意加上，否则axisLabel有可能显示会不全
        bottom:"10px"
    };

    if (label) {
        newOption.series[0].label = label;
    }

    var chartDom = document.createElement('div');
    chartDom.style.width = 90 * fullData.series[0].data.length + 'px'
    chartDom.style.height = '800px'
    var newMyChart = echarts.init(chartDom);
    newMyChart.setOption(newOption);
    setTimeout(() => {
        // 获取图表的数据 URL
        var dataURL = newMyChart.getDataURL({
            type: 'png',  // 可以根据需要修改为其他格式，如 'jpeg'
            pixelRatio: 2,  // 图片分辨率，根据需要进行调整
            backgroundColor: '#fff'  // 图片背景色，根据需要进行调整
        });
        // 创建一个虚拟的下载链接并模拟点击下载
        var link = document.createElement('a');
        link.href = dataURL;
        var imageName = 'echarts_image.png';
        if (newOption.title && newOption.title.text) {
            imageName = newOption.title.text + '.png';
        }
        link.download = imageName;  // 下载的文件名，可以根据需要修改
        link.style.display = 'none';
        link.click();
    }, 1500)
};